package it.muia.ricchefacce.component;

import javax.faces.component.UIInput;

import org.richfaces.cdk.annotations.Attribute;
import org.richfaces.cdk.annotations.Description;
import org.richfaces.cdk.annotations.JsfComponent;
import org.richfaces.cdk.annotations.JsfRenderer;

@JsfComponent(type = "it.muia.ricchefacce.Signpad", family = "javax.faces.Input", renderer = @JsfRenderer(template = "signpad.template.xml"))
public abstract class AbstractSignpad extends UIInput {
	@Attribute(defaultValue = "200px", description = @Description(value = "Container width"))
	public abstract String getWidth();

	@Attribute(defaultValue = "200px", description = @Description(value = "Container height default value = 200px"))
	public abstract String getHeight();

	@Attribute(defaultValue = "#191970", description = @Description(value = "(HTML color string; default: #191970): the HTML color of the drawing pen"))
	public abstract String getPenColor();

	@Attribute(defaultValue = "3.0", description = @Description(value = "(float; default: 3.0): the width of the drawing pen in pixels"))
	public abstract double getPenWidth();

	@Attribute
	public abstract String getClearButtonIcon();

	@Attribute(defaultValue = "png", description = @Description(value = "(string, default: png): the image formats"))
	public abstract String getImageFormat();

	@Attribute(hidden = true)
	public abstract String getSignData();

	@Attribute(hidden = true)
	public abstract void setSignData(String data);
}
